package org.coopac.dao.impl;import java.util.List;
import org.coopac.dao.IDatosLaboralesDAO;
import org.coopac.model.CoopacDatosLaborales;
import org.coopac.model.CoopacDireccionPersona;
import org.coopac.model.CoopacTipoMaestro;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository("DatosLaboralesDAO")
public class DatosLaboralesDAO extends BaseDaoImpl<CoopacDatosLaborales> implements IDatosLaboralesDAO {

	@Autowired
	SessionFactory sessionFactory;

	@Override
	protected SessionFactory getSessionFactory() {
		return sessionFactory;}

	@Override
	public List<CoopacDatosLaborales> listar() {
	return super.listar(CoopacDatosLaborales.class);
	}

	@Override
	public void save(CoopacDatosLaborales datoslaborales) {
		super.save(datoslaborales);
	}

	@Override
	public void update(CoopacDatosLaborales datoslaborales) {
		super.update(datoslaborales);
	}

	@Override
	public void delete(CoopacDatosLaborales datoslaborales) {
		super.delete(datoslaborales);
	}

	@Override
	public CoopacDatosLaborales getById(int id){
		return (CoopacDatosLaborales) super.getById(CoopacDatosLaborales.class, id);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<CoopacDatosLaborales> listByIdPersona(Integer id) {
		@SuppressWarnings("rawtypes")
		List list = getSessionFactory().getCurrentSession().
					createQuery("select object(s) from CoopacDatosLaborales s where s.coopacPersona.idPersona = "+id).list();
		return list;
	}

	@Override
	public CoopacDatosLaborales getDatLabByPersona(Integer id) {
		@SuppressWarnings("rawtypes")
		List list = getSessionFactory().getCurrentSession()
		.createQuery("from CoopacDatosLaborales s where s.coopacPersona.idPersona =? ").setParameter(0, id).list(); 
		return (CoopacDatosLaborales)list.get(0);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<CoopacDatosLaborales> lista() {
		@SuppressWarnings("rawtypes")
		List list = getSessionFactory().getCurrentSession().
					createQuery("select object(o) from CoopacDatosLaborales o").list();
		return list;
	}
	

}